summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2019-04-13 14:11:15 +0900
committersyuilo <syuilotan@yahoo.co.jp>2019-04-13 14:11:15 +0900
commit8c331da315b057752e4d469dc64e6d13cf0bfcf9 (patch)
tree7c47faa17874358813e35c7a04c723b143c7512d
parentUpdate CONTRIBUTING.md (diff)
downloadsharkey-8c331da315b057752e4d469dc64e6d13cf0bfcf9.tar.gz
sharkey-8c331da315b057752e4d469dc64e6d13cf0bfcf9.tar.bz2
sharkey-8c331da315b057752e4d469dc64e6d13cf0bfcf9.zip
Fix bug
-rw-r--r--src/server/api/endpoints/admin/logs.ts14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/server/api/endpoints/admin/logs.ts b/src/server/api/endpoints/admin/logs.ts
index e1419bdfe1..0ea3fbdbf7 100644
--- a/src/server/api/endpoints/admin/logs.ts
+++ b/src/server/api/endpoints/admin/logs.ts
@@ -34,7 +34,7 @@ export default define(meta, async (ps) => {
if (ps.domain) {
const whiteDomains = ps.domain.split(' ').filter(x => !x.startsWith('-'));
- const blackDomains = ps.domain.split(' ').filter(x => x.startsWith('-'));
+ const blackDomains = ps.domain.split(' ').filter(x => x.startsWith('-')).map(x => x.substr(1));
if (whiteDomains.length > 0) {
query.andWhere(new Brackets(qb => {
@@ -53,11 +53,17 @@ export default define(meta, async (ps) => {
if (blackDomains.length > 0) {
query.andWhere(new Brackets(qb => {
for (const blackDomain of blackDomains) {
+ const subDomains = blackDomain.split('.');
let i = 0;
- for (const subDomain of blackDomain.split('.')) {
+ for (const subDomain of subDomains) {
const p = `blackSubDomain_${subDomain}_${i}`;
- // SQL is 1 based, so we need '+ 1'
- qb.andWhere(`log.domain[${i + 1}] != :${p}`, { [p]: subDomain });
+ if (i === subDomains.length - 1) {
+ // SQL is 1 based, so we need '+ 1'
+ qb.andWhere(`log.domain[${i + 1}] != :${p}`, { [p]: subDomain });
+ } else {
+ // SQL is 1 based, so we need '+ 1'
+ qb.andWhere(`log.domain[${i + 1}] == :${p}`, { [p]: subDomain });
+ }
i++;
}
}