mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-10-26 16:46:12 +01:00
feat: don't hardcode numberic fields in user search
This commit is contained in:
@@ -4,6 +4,7 @@
|
|||||||
const meta = require('../meta');
|
const meta = require('../meta');
|
||||||
const plugins = require('../plugins');
|
const plugins = require('../plugins');
|
||||||
const db = require('../database');
|
const db = require('../database');
|
||||||
|
const utils = require('../utils');
|
||||||
|
|
||||||
module.exports = function (User) {
|
module.exports = function (User) {
|
||||||
User.search = async function (data) {
|
User.search = async function (data) {
|
||||||
@@ -108,7 +109,11 @@ module.exports = function (User) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function sortUsers(userData, sortBy) {
|
function sortUsers(userData, sortBy) {
|
||||||
if (sortBy === 'joindate' || sortBy === 'postcount' || sortBy === 'reputation') {
|
if (!userData || !userData.length) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const isNumeric = utils.isNumber(userData[0][sortBy]);
|
||||||
|
if (isNumeric) {
|
||||||
userData.sort((u1, u2) => u2[sortBy] - u1[sortBy]);
|
userData.sort((u1, u2) => u2[sortBy] - u1[sortBy]);
|
||||||
} else {
|
} else {
|
||||||
userData.sort(function (u1, u2) {
|
userData.sort(function (u1, u2) {
|
||||||
|
|||||||
Reference in New Issue
Block a user