|
@@ -3,6 +3,7 @@ import path from 'path';
|
|
|
import { ErrorV3 } from '@growi/core/dist/models';
|
|
import { ErrorV3 } from '@growi/core/dist/models';
|
|
|
import { serializeUserSecurely } from '@growi/core/dist/models/serializers';
|
|
import { serializeUserSecurely } from '@growi/core/dist/models/serializers';
|
|
|
import { userHomepagePath } from '@growi/core/dist/utils/page-path-utils';
|
|
import { userHomepagePath } from '@growi/core/dist/utils/page-path-utils';
|
|
|
|
|
+import escapeStringRegexp from 'escape-string-regexp';
|
|
|
import express from 'express';
|
|
import express from 'express';
|
|
|
import { body, query } from 'express-validator';
|
|
import { body, query } from 'express-validator';
|
|
|
import { isEmail } from 'validator';
|
|
import { isEmail } from 'validator';
|
|
@@ -27,7 +28,6 @@ const logger = loggerFactory('growi:routes:apiv3:users');
|
|
|
|
|
|
|
|
const router = express.Router();
|
|
const router = express.Router();
|
|
|
|
|
|
|
|
-
|
|
|
|
|
const PAGE_ITEMS = 50;
|
|
const PAGE_ITEMS = 50;
|
|
|
|
|
|
|
|
const validator = {};
|
|
const validator = {};
|
|
@@ -297,7 +297,7 @@ module.exports = (crowi) => {
|
|
|
|
|
|
|
|
// Search from input
|
|
// Search from input
|
|
|
const searchText = req.query.searchText || '';
|
|
const searchText = req.query.searchText || '';
|
|
|
- const searchWord = new RegExp(`${searchText}`);
|
|
|
|
|
|
|
+ const searchWord = new RegExp(escapeStringRegexp(searchText));
|
|
|
// Sort
|
|
// Sort
|
|
|
const { sort, sortOrder } = req.query;
|
|
const { sort, sortOrder } = req.query;
|
|
|
const sortOutput = {
|
|
const sortOutput = {
|