From 8340290fabac4e7ffc7135638a8df9ac4c6a3713 Mon Sep 17 00:00:00 2001 From: Roland Osborne Date: Mon, 24 Oct 2022 11:03:14 -0700 Subject: [PATCH] adding optional filter for account listing --- net/server/internal/api_getAccountListing.go | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/net/server/internal/api_getAccountListing.go b/net/server/internal/api_getAccountListing.go index c9427975..b829d3a7 100644 --- a/net/server/internal/api_getAccountListing.go +++ b/net/server/internal/api_getAccountListing.go @@ -8,11 +8,21 @@ import ( //GetAccountListing retrieves profile list of publicly accessible accounts func GetAccountListing(w http.ResponseWriter, r *http.Request) { + filter := r.FormValue("filter") var accounts []store.Account - if err := store.DB.Preload("AccountDetail").Where("searchable = ? AND disabled = ?", true, false).Find(&accounts).Error; err != nil { - ErrResponse(w, http.StatusInternalServerError, err) - return - } + if filter == "" { + if err := store.DB.Order("id desc").Limit(16).Preload("AccountDetail").Where("searchable = ? AND disabled = ?", true, false).Find(&accounts).Error; err != nil { + ErrResponse(w, http.StatusInternalServerError, err) + return + } + } else { + username := "%" + filter + "%" + PrintMsg(username); + if err := store.DB.Order("id desc").Limit(16).Preload("AccountDetail").Where("username LIKE ? AND searchable = ? AND disabled = ?", username, true, false).Find(&accounts).Error; err != nil { + ErrResponse(w, http.StatusInternalServerError, err) + return + } + } profiles := []CardProfile{} for _, account := range accounts {