fix: issue where listing cron workflows failed

This commit is contained in:
Andrey Melnikov
2020-06-22 11:11:53 -07:00
parent 817ec61bdf
commit 97c5e2da6f
2 changed files with 8 additions and 13 deletions

View File

@@ -358,15 +358,9 @@ func (c *Client) DeleteCronWorkflowLabel(namespace, name string, keysToDelete ..
func (c *Client) ListCronWorkflows(namespace, workflowTemplateUID string, pagination *pagination.PaginationRequest) (cronWorkflows []*CronWorkflow, err error) { func (c *Client) ListCronWorkflows(namespace, workflowTemplateUID string, pagination *pagination.PaginationRequest) (cronWorkflows []*CronWorkflow, err error) {
sb := c.cronWorkflowSelectBuilder(namespace, workflowTemplateUID). sb := c.cronWorkflowSelectBuilder(namespace, workflowTemplateUID).
OrderBy("cw.created_at DESC") OrderBy("cw.created_at DESC")
sb = *pagination.ApplyToSelect(&sb) sb = *pagination.ApplyToSelect(&sb)
query, args, err := sb.ToSql()
if err != nil { if err := c.DB.Selectx(&cronWorkflows, sb); err != nil {
return nil, err
}
if err := c.DB.Select(&cronWorkflows, query, args...); err != nil {
return nil, err return nil, err
} }
labelsMap, err := c.GetDBLabelsMapped(TypeCronWorkflow, CronWorkflowsToIDs(cronWorkflows)...) labelsMap, err := c.GetDBLabelsMapped(TypeCronWorkflow, CronWorkflowsToIDs(cronWorkflows)...)
@@ -374,7 +368,7 @@ func (c *Client) ListCronWorkflows(namespace, workflowTemplateUID string, pagina
log.WithFields(log.Fields{ log.WithFields(log.Fields{
"Namespace": namespace, "Namespace": namespace,
"Error": err.Error(), "Error": err.Error(),
}).Error("Unable to get Workflow Template Labels") }).Error("Unable to get Cron Workflow Labels")
return nil, err return nil, err
} }
@@ -388,7 +382,7 @@ func (c *Client) ListCronWorkflows(namespace, workflowTemplateUID string, pagina
func (c *Client) CountCronWorkflows(namespace, workflowTemplateUID string) (count int, err error) { func (c *Client) CountCronWorkflows(namespace, workflowTemplateUID string) (count int, err error) {
err = c.cronWorkflowSelectBuilderNoColumns(namespace, workflowTemplateUID). err = c.cronWorkflowSelectBuilderNoColumns(namespace, workflowTemplateUID).
Columns("COUNT(*)"). Columns("COUNT(*)").
RunWith(c.DB.DB). RunWith(c.DB).
QueryRow(). QueryRow().
Scan(&count) Scan(&count)
@@ -576,19 +570,20 @@ func (c *Client) ArchiveCronWorkflow(namespace, uid string) (err error) {
func (c *Client) cronWorkflowSelectBuilder(namespace string, workflowTemplateUid string) sq.SelectBuilder { func (c *Client) cronWorkflowSelectBuilder(namespace string, workflowTemplateUid string) sq.SelectBuilder {
sb := c.cronWorkflowSelectBuilderNoColumns(namespace, workflowTemplateUid). sb := c.cronWorkflowSelectBuilderNoColumns(namespace, workflowTemplateUid).
Columns(getCronWorkflowColumns("wtv.version")...) Columns(getCronWorkflowColumns("cw")...).
Columns("wtv.version")
return sb return sb
} }
func (c *Client) cronWorkflowSelectBuilderNoColumns(namespace string, workflowTemplateUid string) sq.SelectBuilder { func (c *Client) cronWorkflowSelectBuilderNoColumns(namespace string, workflowTemplateUID string) sq.SelectBuilder {
sb := sb.Select(). sb := sb.Select().
From("cron_workflows cw"). From("cron_workflows cw").
Join("workflow_template_versions wtv ON wtv.id = cw.workflow_template_version_id"). Join("workflow_template_versions wtv ON wtv.id = cw.workflow_template_version_id").
Join("workflow_templates wt ON wt.id = wtv.workflow_template_id"). Join("workflow_templates wt ON wt.id = wtv.workflow_template_id").
Where(sq.Eq{ Where(sq.Eq{
"wt.namespace": namespace, "wt.namespace": namespace,
"wt.uid": workflowTemplateUid, "wt.uid": workflowTemplateUID,
"cw.is_archived": false, "cw.is_archived": false,
}) })

View File

@@ -104,7 +104,7 @@ func (cw *CronWorkflow) AddToManifestSpec(key, manifest string) error {
// getCronWorkflowColumns returns all of the columns for cronWorkflow modified by alias, destination. // getCronWorkflowColumns returns all of the columns for cronWorkflow modified by alias, destination.
// see formatColumnSelect // see formatColumnSelect
func getCronWorkflowColumns(aliasAndDestination ...string) []string { func getCronWorkflowColumns(aliasAndDestination ...string) []string {
columns := []string{"cw.id", "cw.created_at", "cw.uid", "cw.name", "cw.workflow_template_version_id", "cw.manifest", "cw.namespace"} columns := []string{"id", "created_at", "uid", "name", "workflow_template_version_id", "manifest", "namespace"}
return sql.FormatColumnSelect(columns, aliasAndDestination...) return sql.FormatColumnSelect(columns, aliasAndDestination...)
} }