Fix search-by-tag (#7531)
* Fix search-by-tag
* Revert "Fix search-by-tag"
This reverts commit c971d1d5d8
.
* Fix typo
* Remove unused var
* インジェクションは[]を返すように
This commit is contained in:
parent
7063a6925f
commit
47aaf04481
|
@ -104,22 +104,25 @@ export default define(meta, async (ps, me) => {
|
|||
generateVisibilityQuery(query, me);
|
||||
if (me) generateMutedUserQuery(query, me);
|
||||
|
||||
if (ps.tag) {
|
||||
if (!safeForSql(ps.tag)) return;
|
||||
query.andWhere(`'{"${normalizeForSearch(ps.tag)}"}' <@ note.tags`);
|
||||
} else {
|
||||
let i = 0;
|
||||
query.andWhere(new Brackets(qb => {
|
||||
for (const tags of ps.query!) {
|
||||
qb.orWhere(new Brackets(qb => {
|
||||
for (const tag of tags) {
|
||||
if (!safeForSql(tag)) return;
|
||||
qb.andWhere(`'{"${normalizeForSearch(ps.tag)}"}' <@ note.tags`);
|
||||
i++;
|
||||
}
|
||||
}));
|
||||
}
|
||||
}));
|
||||
try {
|
||||
if (ps.tag) {
|
||||
if (!safeForSql(ps.tag)) throw 'Injection';
|
||||
query.andWhere(`'{"${normalizeForSearch(ps.tag)}"}' <@ note.tags`);
|
||||
} else {
|
||||
query.andWhere(new Brackets(qb => {
|
||||
for (const tags of ps.query!) {
|
||||
qb.orWhere(new Brackets(qb => {
|
||||
for (const tag of tags) {
|
||||
if (!safeForSql(tag)) throw 'Injection';
|
||||
qb.andWhere(`'{"${normalizeForSearch(tag)}"}' <@ note.tags`);
|
||||
}
|
||||
}));
|
||||
}
|
||||
}));
|
||||
}
|
||||
} catch (e) {
|
||||
if (e === 'Injection') return [];
|
||||
throw e;
|
||||
}
|
||||
|
||||
if (ps.reply != null) {
|
||||
|
|
Loading…
Reference in New Issue