summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/api/endpoints
diff options
context:
space:
mode:
authordakkar <dakkar@thenautilus.net>2024-01-12 16:28:49 +0000
committerdakkar <dakkar@thenautilus.net>2024-01-12 16:58:21 +0000
commitd2d75b25bf592d2b62d8dd3d14c6c36626688506 (patch)
treea610f6cfd1b06ccf197db5768a76ebb00b2bc592 /packages/backend/src/server/api/endpoints
parentmerge: upstream (diff)
downloadsharkey-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')
-rw-r--r--packages/backend/src/server/api/endpoints/admin/emoji/list-remote.ts5
-rw-r--r--packages/backend/src/server/api/endpoints/admin/emoji/list.ts2
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) {