diff --git a/backend/handlers/user/customer_relationship.go b/backend/handlers/user/customer_relationship.go index c890af3..0fd3a14 100644 --- a/backend/handlers/user/customer_relationship.go +++ b/backend/handlers/user/customer_relationship.go @@ -97,21 +97,21 @@ func GetCustomerRelationshipHandler(w http.ResponseWriter, r *http.Request) { rows, err := db.Conn.Query(r.Context(), ` SELECT name, cnt FROM ( - SELECT s.name, COUNT(*) as count, COUNT(*) as cnt + SELECT s.name, COUNT(*) as cnt FROM booking_services bsvc JOIN bookings b ON bsvc.booking_id = b.id JOIN services s ON bsvc.service_id = s.id WHERE b.user_id = $1 AND b.status = 'completed' GROUP BY s.name UNION ALL - SELECT cs.name, COUNT(*) as count, COUNT(*) as cnt + SELECT cs.name, COUNT(*) as cnt FROM booking_custom_services bcs JOIN bookings b ON bcs.booking_id = b.id JOIN custom_services cs ON bcs.custom_service_id = cs.id WHERE b.user_id = $1 AND b.status = 'completed' GROUP BY cs.name ) combined - ORDER BY count DESC + ORDER BY cnt DESC LIMIT 5 `, userID) if err != nil && !errors.Is(err, pgx.ErrNoRows) { diff --git a/backend/handlers/user/profile.go b/backend/handlers/user/profile.go index 4f3397e..4d6e16a 100644 --- a/backend/handlers/user/profile.go +++ b/backend/handlers/user/profile.go @@ -512,7 +512,7 @@ func ListAdminUsersHandler(w http.ResponseWriter, r *http.Request) { if searchTerm != "" { searchPattern := "%" + searchTerm + "%" - innerWithWhere := `SELECT * FROM (` + innerQuery + ` + innerWithWhere := `SELECT id, fn, email, phone, account_role, created_at, previous_first_name, previous_last_name, completed_count FROM (` + innerQuery + ` WHERE (u.fn ILIKE $1 OR u.email ILIKE $1 OR u.phone ILIKE $1) ) sub` @@ -532,7 +532,7 @@ func ListAdminUsersHandler(w http.ResponseWriter, r *http.Request) { listQuery += ` ORDER BY completed_count DESC, created_at DESC, id DESC LIMIT $` + strconv.Itoa(len(listArgs)+1) listArgs = append(listArgs, perPage+1) } else { - innerNoWhere := `SELECT * FROM (` + innerQuery + `) sub` + innerNoWhere := `SELECT id, fn, email, phone, account_role, created_at, previous_first_name, previous_last_name, completed_count FROM (` + innerQuery + `) sub` if cursorStr != "" { cursorCount, cursorCreatedAt, cursorID, err := validators.ParseCursor3(cursorStr)