mirror of
https://github.com/coder/coder.git
synced 2025-07-15 22:20:27 +00:00
chore: return template data for provisioner daemons (#16514)
Return template data in provisioner jobs to be displayed in the provisioners page.
This commit is contained in:
9
coderd/apidoc/docs.go
generated
9
coderd/apidoc/docs.go
generated
@ -13106,6 +13106,15 @@ const docTemplate = `{
|
||||
"$ref": "#/definitions/codersdk.ProvisionerJobStatus"
|
||||
}
|
||||
]
|
||||
},
|
||||
"template_display_name": {
|
||||
"type": "string"
|
||||
},
|
||||
"template_icon": {
|
||||
"type": "string"
|
||||
},
|
||||
"template_name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
9
coderd/apidoc/swagger.json
generated
9
coderd/apidoc/swagger.json
generated
@ -11835,6 +11835,15 @@
|
||||
"$ref": "#/definitions/codersdk.ProvisionerJobStatus"
|
||||
}
|
||||
]
|
||||
},
|
||||
"template_display_name": {
|
||||
"type": "string"
|
||||
},
|
||||
"template_icon": {
|
||||
"type": "string"
|
||||
},
|
||||
"template_name": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
|
@ -5755,7 +5755,10 @@ SELECT
|
||||
current_job.id AS current_job_id,
|
||||
current_job.job_status AS current_job_status,
|
||||
previous_job.id AS previous_job_id,
|
||||
previous_job.job_status AS previous_job_status
|
||||
previous_job.job_status AS previous_job_status,
|
||||
COALESCE(tmpl.name, ''::text) AS current_job_template_name,
|
||||
COALESCE(tmpl.display_name, ''::text) AS current_job_template_display_name,
|
||||
COALESCE(tmpl.icon, ''::text) AS current_job_template_icon
|
||||
FROM
|
||||
provisioner_daemons pd
|
||||
JOIN
|
||||
@ -5780,6 +5783,10 @@ LEFT JOIN
|
||||
LIMIT 1
|
||||
)
|
||||
)
|
||||
LEFT JOIN
|
||||
template_versions version ON version.id = (current_job.input->>'template_version_id')::uuid
|
||||
LEFT JOIN
|
||||
templates tmpl ON tmpl.id = version.template_id
|
||||
WHERE
|
||||
pd.organization_id = $2::uuid
|
||||
AND (COALESCE(array_length($3::uuid[], 1), 0) = 0 OR pd.id = ANY($3::uuid[]))
|
||||
@ -5796,13 +5803,16 @@ type GetProvisionerDaemonsWithStatusByOrganizationParams struct {
|
||||
}
|
||||
|
||||
type GetProvisionerDaemonsWithStatusByOrganizationRow struct {
|
||||
ProvisionerDaemon ProvisionerDaemon `db:"provisioner_daemon" json:"provisioner_daemon"`
|
||||
Status ProvisionerDaemonStatus `db:"status" json:"status"`
|
||||
KeyName string `db:"key_name" json:"key_name"`
|
||||
CurrentJobID uuid.NullUUID `db:"current_job_id" json:"current_job_id"`
|
||||
CurrentJobStatus NullProvisionerJobStatus `db:"current_job_status" json:"current_job_status"`
|
||||
PreviousJobID uuid.NullUUID `db:"previous_job_id" json:"previous_job_id"`
|
||||
PreviousJobStatus NullProvisionerJobStatus `db:"previous_job_status" json:"previous_job_status"`
|
||||
ProvisionerDaemon ProvisionerDaemon `db:"provisioner_daemon" json:"provisioner_daemon"`
|
||||
Status ProvisionerDaemonStatus `db:"status" json:"status"`
|
||||
KeyName string `db:"key_name" json:"key_name"`
|
||||
CurrentJobID uuid.NullUUID `db:"current_job_id" json:"current_job_id"`
|
||||
CurrentJobStatus NullProvisionerJobStatus `db:"current_job_status" json:"current_job_status"`
|
||||
PreviousJobID uuid.NullUUID `db:"previous_job_id" json:"previous_job_id"`
|
||||
PreviousJobStatus NullProvisionerJobStatus `db:"previous_job_status" json:"previous_job_status"`
|
||||
CurrentJobTemplateName string `db:"current_job_template_name" json:"current_job_template_name"`
|
||||
CurrentJobTemplateDisplayName string `db:"current_job_template_display_name" json:"current_job_template_display_name"`
|
||||
CurrentJobTemplateIcon string `db:"current_job_template_icon" json:"current_job_template_icon"`
|
||||
}
|
||||
|
||||
func (q *sqlQuerier) GetProvisionerDaemonsWithStatusByOrganization(ctx context.Context, arg GetProvisionerDaemonsWithStatusByOrganizationParams) ([]GetProvisionerDaemonsWithStatusByOrganizationRow, error) {
|
||||
@ -5837,6 +5847,9 @@ func (q *sqlQuerier) GetProvisionerDaemonsWithStatusByOrganization(ctx context.C
|
||||
&i.CurrentJobStatus,
|
||||
&i.PreviousJobID,
|
||||
&i.PreviousJobStatus,
|
||||
&i.CurrentJobTemplateName,
|
||||
&i.CurrentJobTemplateDisplayName,
|
||||
&i.CurrentJobTemplateIcon,
|
||||
); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
@ -44,7 +44,10 @@ SELECT
|
||||
current_job.id AS current_job_id,
|
||||
current_job.job_status AS current_job_status,
|
||||
previous_job.id AS previous_job_id,
|
||||
previous_job.job_status AS previous_job_status
|
||||
previous_job.job_status AS previous_job_status,
|
||||
COALESCE(tmpl.name, ''::text) AS current_job_template_name,
|
||||
COALESCE(tmpl.display_name, ''::text) AS current_job_template_display_name,
|
||||
COALESCE(tmpl.icon, ''::text) AS current_job_template_icon
|
||||
FROM
|
||||
provisioner_daemons pd
|
||||
JOIN
|
||||
@ -69,6 +72,10 @@ LEFT JOIN
|
||||
LIMIT 1
|
||||
)
|
||||
)
|
||||
LEFT JOIN
|
||||
template_versions version ON version.id = (current_job.input->>'template_version_id')::uuid
|
||||
LEFT JOIN
|
||||
templates tmpl ON tmpl.id = version.template_id
|
||||
WHERE
|
||||
pd.organization_id = @organization_id::uuid
|
||||
AND (COALESCE(array_length(@ids::uuid[], 1), 0) = 0 OR pd.id = ANY(@ids::uuid[]))
|
||||
|
@ -59,8 +59,11 @@ func (api *API) provisionerDaemons(rw http.ResponseWriter, r *http.Request) {
|
||||
var currentJob, previousJob *codersdk.ProvisionerDaemonJob
|
||||
if dbDaemon.CurrentJobID.Valid {
|
||||
currentJob = &codersdk.ProvisionerDaemonJob{
|
||||
ID: dbDaemon.CurrentJobID.UUID,
|
||||
Status: codersdk.ProvisionerJobStatus(dbDaemon.CurrentJobStatus.ProvisionerJobStatus),
|
||||
ID: dbDaemon.CurrentJobID.UUID,
|
||||
Status: codersdk.ProvisionerJobStatus(dbDaemon.CurrentJobStatus.ProvisionerJobStatus),
|
||||
TemplateName: dbDaemon.CurrentJobTemplateName,
|
||||
TemplateIcon: dbDaemon.CurrentJobTemplateIcon,
|
||||
TemplateDisplayName: dbDaemon.CurrentJobTemplateDisplayName,
|
||||
}
|
||||
}
|
||||
if dbDaemon.PreviousJobID.Valid {
|
||||
|
Reference in New Issue
Block a user