This commit is contained in:
syuilo 2019-05-15 17:05:41 +09:00
parent e5409db0e8
commit a6befdd541
No known key found for this signature in database
GPG Key ID: BDC4C49D06AB9D69
1 changed files with 12 additions and 10 deletions

View File

@ -53,16 +53,18 @@ export default define(meta, async (ps) => {
if (blackDomains.length > 0) { if (blackDomains.length > 0) {
query.andWhere(new Brackets(qb => { query.andWhere(new Brackets(qb => {
for (const blackDomain of blackDomains) { for (const blackDomain of blackDomains) {
const subDomains = blackDomain.split('.'); qb.andWhere(new Brackets(qb => {
let i = 0; const subDomains = blackDomain.split('.');
for (const subDomain of subDomains) { let i = 0;
const p = `blackSubDomain_${subDomain}_${i}`; for (const subDomain of subDomains) {
// 全体で否定できないのでド・モルガンの法則で const p = `blackSubDomain_${subDomain}_${i}`;
// !(P && Q) を !P || !Q で表す // 全体で否定できないのでド・モルガンの法則で
// SQL is 1 based, so we need '+ 1' // !(P && Q) を !P || !Q で表す
qb.orWhere(`log.domain[${i + 1}] != :${p}`, { [p]: subDomain }); // SQL is 1 based, so we need '+ 1'
i++; qb.orWhere(`log.domain[${i + 1}] != :${p}`, { [p]: subDomain });
} i++;
}
}));
} }
})); }));
} }