From 4cb51a2d327617084a8c439c24fab269d0d27c0a Mon Sep 17 00:00:00 2001 From: syuilo Date: Wed, 18 Jul 2018 07:34:17 +0900 Subject: [PATCH] Fix bugs --- src/server/api/endpoints/hashtags/search.ts | 3 ++- src/server/api/endpoints/users/search_by_username.ts | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/server/api/endpoints/hashtags/search.ts b/src/server/api/endpoints/hashtags/search.ts index 988a786a08..262370cacc 100644 --- a/src/server/api/endpoints/hashtags/search.ts +++ b/src/server/api/endpoints/hashtags/search.ts @@ -1,6 +1,7 @@ import $ from 'cafy'; import Hashtag from '../../../../models/hashtag'; import getParams from '../../get-params'; +const escapeRegexp = require('escape-regexp'); export const meta = { desc: { @@ -38,7 +39,7 @@ export default (params: any) => new Promise(async (res, rej) => { const hashtags = await Hashtag .find({ - tag: new RegExp(ps.query.toLowerCase()) + tag: new RegExp('^' + escapeRegexp(ps.query.toLowerCase())) }, { sort: { count: -1 diff --git a/src/server/api/endpoints/users/search_by_username.ts b/src/server/api/endpoints/users/search_by_username.ts index 56030a000d..d347ba6056 100644 --- a/src/server/api/endpoints/users/search_by_username.ts +++ b/src/server/api/endpoints/users/search_by_username.ts @@ -1,5 +1,6 @@ import $ from 'cafy'; import User, { pack, ILocalUser } from '../../../../models/user'; +const escapeRegexp = require('escape-regexp'); /** * Search a user by username @@ -20,7 +21,7 @@ export default (params: any, me: ILocalUser) => new Promise(async (res, rej) => let users = await User .find({ host: null, - usernameLower: new RegExp(query.toLowerCase()) + usernameLower: new RegExp(escapeRegexp(query.toLowerCase())) }, { limit: limit, skip: offset @@ -30,7 +31,7 @@ export default (params: any, me: ILocalUser) => new Promise(async (res, rej) => const remoteUsers = await User .find({ host: { $ne: null }, - usernameLower: new RegExp(query.toLowerCase()) + usernameLower: new RegExp(escapeRegexp(query.toLowerCase())) }, { limit: limit - users.length });