diff options
| author | dakkar <dakkar@thenautilus.net> | 2024-01-12 16:28:49 +0000 |
|---|---|---|
| committer | dakkar <dakkar@thenautilus.net> | 2024-01-12 16:58:21 +0000 |
| commit | d2d75b25bf592d2b62d8dd3d14c6c36626688506 (patch) | |
| tree | a610f6cfd1b06ccf197db5768a76ebb00b2bc592 /packages/backend/src/server/api/endpoints/admin | |
| parent | merge: upstream (diff) | |
| download | sharkey-d2d75b25bf592d2b62d8dd3d14c6c36626688506.tar.gz sharkey-d2d75b25bf592d2b62d8dd3d14c6c36626688506.tar.bz2 sharkey-d2d75b25bf592d2b62d8dd3d14c6c36626688506.zip | |
emoji search: show closest match first #338
Diffstat (limited to 'packages/backend/src/server/api/endpoints/admin')
| -rw-r--r-- | packages/backend/src/server/api/endpoints/admin/emoji/list-remote.ts | 5 | ||||
| -rw-r--r-- | packages/backend/src/server/api/endpoints/admin/emoji/list.ts | 2 |
2 files changed, 4 insertions, 3 deletions
diff --git a/packages/backend/src/server/api/endpoints/admin/emoji/list-remote.ts b/packages/backend/src/server/api/endpoints/admin/emoji/list-remote.ts index f3e0c1ef1f..be4d165898 100644 --- a/packages/backend/src/server/api/endpoints/admin/emoji/list-remote.ts +++ b/packages/backend/src/server/api/endpoints/admin/emoji/list-remote.ts @@ -98,11 +98,12 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint- } if (ps.query) { - q.andWhere('emoji.name like :query', { query: '%' + sqlLikeEscape(ps.query) + '%' }); + q.andWhere('emoji.name like :query', { query: '%' + sqlLikeEscape(ps.query) + '%' }) + .orderBy('length(emoji.name)', 'ASC'); } const emojis = await q - .orderBy('emoji.id', 'DESC') + .addOrderBy('emoji.id', 'DESC') .limit(ps.limit) .getMany(); diff --git a/packages/backend/src/server/api/endpoints/admin/emoji/list.ts b/packages/backend/src/server/api/endpoints/admin/emoji/list.ts index 59e87253f6..26b70587a8 100644 --- a/packages/backend/src/server/api/endpoints/admin/emoji/list.ts +++ b/packages/backend/src/server/api/endpoints/admin/emoji/list.ts @@ -91,7 +91,7 @@ export default class extends Endpoint<typeof meta, typeof paramDef> { // eslint- //q.andWhere('emoji.name ILIKE :q', { q: `%${ sqlLikeEscape(ps.query) }%` }); //const emojis = await q.limit(ps.limit).getMany(); - emojis = await q.getMany(); + emojis = await q.orderBy('length(emoji.name)', 'ASC').getMany(); const queryarry = ps.query.match(/\:([a-z0-9_]*)\:/g); if (queryarry) { |