diff options
| author | tamaina <tamaina@hotmail.co.jp> | 2022-05-14 15:24:44 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-05-14 15:24:44 +0900 |
| commit | b2a5076d14e84fc427e9ab59ae373b04ddfbf40c (patch) | |
| tree | 23492f66dcaf415669c3e75a7fc10155c0e14a18 /packages/backend/src/server/api/endpoints/users | |
| parent | test: e2eテストがCIで失敗していた問題をいくつか修正 (#8642) (diff) | |
| download | sharkey-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.ts | 9 |
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 }); |