From e3d7d049cc9fbb0a76d9e693ada19eeac0b802e1 Mon Sep 17 00:00:00 2001 From: Max Date: Wed, 3 Sep 2025 08:06:33 +0800 Subject: [PATCH] Add keywords filter to ListJobs function for enhanced job search - Implemented a keywords filter in the ListJobs function to allow searching by job name and description. - Refactored enabled status handling to support multiple truthy and falsy values, improving flexibility in job retrieval. - Default behavior remains to show all records regardless of enabled status, ensuring no data is inadvertently filtered out. --- openapi/job/jobs.go | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/openapi/job/jobs.go b/openapi/job/jobs.go index 8c0162d4..57b832c3 100644 --- a/openapi/job/jobs.go +++ b/openapi/job/jobs.go @@ -52,20 +52,40 @@ func ListJobs(c *gin.Context) { }) } + // Add keywords filter if provided (search in name and description) + if keywords := c.Query("keywords"); keywords != "" { + param.Wheres = append(param.Wheres, model.QueryWhere{ + Wheres: []model.QueryWhere{ + { + Column: "name", + Value: "%" + keywords + "%", + OP: "like", + }, + { + Column: "description", + Value: "%" + keywords + "%", + OP: "like", + Method: "orwhere", + }, + }, + }) + } + // Add enabled filter (default to show all for debugging) - enabled := c.Query("enabled") - if enabled == "true" { + switch enabled := c.Query("enabled"); enabled { + case "true", "1", "yes", "on": param.Wheres = append(param.Wheres, model.QueryWhere{ Column: "enabled", Value: true, }) - } else if enabled == "false" { + case "false", "0", "no", "off": param.Wheres = append(param.Wheres, model.QueryWhere{ Column: "enabled", Value: false, }) + default: + // Default: show all records regardless of enabled status } - // Default: show all records regardless of enabled status // Call job.ListJobs function result, err := job.ListJobs(param, page, pagesize)