From 703c1548c992d3232d9b2ac3e0a6c2a7fc3374ae Mon Sep 17 00:00:00 2001 From: giovanni Date: Fri, 30 Jan 2026 11:49:13 +0700 Subject: [PATCH] fix search list daily checklist --- .../daily-checklists/services/daily-checklist.service.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/internal/modules/daily-checklists/services/daily-checklist.service.go b/internal/modules/daily-checklists/services/daily-checklist.service.go index e2974039..6913f587 100644 --- a/internal/modules/daily-checklists/services/daily-checklist.service.go +++ b/internal/modules/daily-checklists/services/daily-checklist.service.go @@ -3,6 +3,7 @@ package service import ( "errors" "math" + "regexp" "sort" "strconv" "strings" @@ -259,8 +260,9 @@ func (s dailyChecklistService) GetAll(c *fiber.Ctx, params *validation.Query) ([ } if params.Search != "" { - like := "%" + params.Search + "%" - db = db.Where("(k.name ILIKE ? OR dc.category::text ILIKE ?)", like, like) + re := regexp.MustCompile("[^a-zA-Z0-9]") + like := re.ReplaceAll([]byte("%"+params.Search+"%"), []byte("")) + db = db.Where("(regexp_replace(k.name, '[^a-zA-Z0-9]', '', 'g') ILIKE ? OR regexp_replace(dc.category::text, '[^a-zA-Z0-9]', '', 'g') ILIKE ?)", string(like), string(like)) } countDB := db.Session(&gorm.Session{})