summaryrefslogtreecommitdiff
path: root/src/server/api/endpoints/notes
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/api/endpoints/notes')
-rw-r--r--src/server/api/endpoints/notes/search-by-tag.ts5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/server/api/endpoints/notes/search-by-tag.ts b/src/server/api/endpoints/notes/search-by-tag.ts
index f4b89ff9f5..aaeec5ecf4 100644
--- a/src/server/api/endpoints/notes/search-by-tag.ts
+++ b/src/server/api/endpoints/notes/search-by-tag.ts
@@ -99,7 +99,8 @@ export default define(meta, async (ps, me) => {
if (me) generateMuteQuery(query, me);
if (ps.tag) {
- query.andWhere(':tag = ANY(note.tags)', { tag: ps.tag.toLowerCase() });
+ if (/[\0\x08\x09\x1a\n\r"'\\\%]/g.test(ps.tag)) return;
+ query.andWhere(`'{"${ps.tag.toLowerCase()}"}' <@ note.tags`);
} else {
let i = 0;
query.andWhere(new Brackets(qb => {
@@ -143,7 +144,7 @@ export default define(meta, async (ps, me) => {
}
// Search notes
- const notes = await query.take(ps.limit!).getMany();
+ const notes = await query.take(ps.limit!).printSql().getMany();
return await Notes.packMany(notes, me);
});