17 lines
469 B
TypeScript
17 lines
469 B
TypeScript
import type Database from 'better-sqlite3';
|
|
import { normalizeDomain } from './repository';
|
|
|
|
export function isDomainAllowed(db: Database.Database, urlString: string): boolean {
|
|
let host: string;
|
|
try {
|
|
host = new URL(urlString).hostname;
|
|
} catch {
|
|
return false;
|
|
}
|
|
const normalized = normalizeDomain(host);
|
|
const row = db
|
|
.prepare('SELECT 1 AS ok FROM allowed_domain WHERE domain = ? LIMIT 1')
|
|
.get(normalized);
|
|
return row !== undefined;
|
|
}
|