summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/api/endpoints/users
diff options
context:
space:
mode:
authortamaina <tamaina@hotmail.co.jp>2022-05-14 15:24:44 +0900
committerGitHub <noreply@github.com>2022-05-14 15:24:44 +0900
commitb2a5076d14e84fc427e9ab59ae373b04ddfbf40c (patch)
tree23492f66dcaf415669c3e75a7fc10155c0e14a18 /packages/backend/src/server/api/endpoints/users
parenttest: e2eテストがCIで失敗していた問題をいくつか修正 (#8642) (diff)
downloadsharkey-b2a5076d14e84fc427e9ab59ae373b04ddfbf40c.tar.gz
sharkey-b2a5076d14e84fc427e9ab59ae373b04ddfbf40c.tar.bz2
sharkey-b2a5076d14e84fc427e9ab59ae373b04ddfbf40c.zip
fix: ユーザー検索で、クエリがusernameの条件を満たす場合はusernameもLIKE検索するように (#8644)
* Fix #8643 * 部分一致にする
Diffstat (limited to 'packages/backend/src/server/api/endpoints/users')
-rw-r--r--packages/backend/src/server/api/endpoints/users/search.ts9
1 files changed, 8 insertions, 1 deletions
diff --git a/packages/backend/src/server/api/endpoints/users/search.ts b/packages/backend/src/server/api/endpoints/users/search.ts
index a72a58a843..f93d4f718b 100644
--- a/packages/backend/src/server/api/endpoints/users/search.ts
+++ b/packages/backend/src/server/api/endpoints/users/search.ts
@@ -61,7 +61,14 @@ export default define(meta, paramDef, async (ps, me) => {
.getMany();
} else {
const nameQuery = Users.createQueryBuilder('user')
- .where('user.name ILIKE :query', { query: '%' + ps.query + '%' })
+ .where(new Brackets(qb => {
+ qb.where('user.name ILIKE :query', { query: '%' + ps.query + '%' });
+
+ // Also search username if it qualifies as username
+ if (Users.validateLocalUsername(ps.query)) {
+ qb.orWhere('user.usernameLower LIKE :username', { username: '%' + ps.query.toLowerCase() + '%' });
+ }
+ }))
.andWhere(new Brackets(qb => { qb
.where('user.updatedAt IS NULL')
.orWhere('user.updatedAt > :activeThreshold', { activeThreshold: activeThreshold });