Remove domain parameter from queries.

pull/512/head
Mike Cao 2021-02-26 19:50:44 -08:00
parent 278672233e
commit f7201c9cfc
4 changed files with 17 additions and 14 deletions

View File

@ -17,7 +17,6 @@ import styles from './MetricsTable.module.css';
export default function MetricsTable({ export default function MetricsTable({
websiteId, websiteId,
websiteDomain,
type, type,
className, className,
dataFilter, dataFilter,
@ -42,7 +41,6 @@ export default function MetricsTable({
type, type,
start_at: +startDate, start_at: +startDate,
end_at: +endDate, end_at: +endDate,
domain: websiteDomain,
url, url,
}, },
onDataLoad, onDataLoad,

View File

@ -42,7 +42,6 @@ export default function ReferrersTable({ websiteId, websiteDomain, showFilters,
type="referrer" type="referrer"
metric={<FormattedMessage id="metrics.views" defaultMessage="Views" />} metric={<FormattedMessage id="metrics.views" defaultMessage="Views" />}
websiteId={websiteId} websiteId={websiteId}
websiteDomain={websiteDomain}
dataFilter={refFilter} dataFilter={refFilter}
filterOptions={{ filterOptions={{
domain: websiteDomain, domain: websiteDomain,

View File

@ -428,7 +428,7 @@ export function getPageviewMetrics(website_id, start_at, end_at, field, table, f
if (domain) { if (domain) {
domainFilter = `and referrer not like $${params.length + 1} and referrer not like '/%'`; domainFilter = `and referrer not like $${params.length + 1} and referrer not like '/%'`;
params.push(`%${domain}%`); params.push(`%://${domain}/%`);
} }
if (url) { if (url) {

View File

@ -1,6 +1,5 @@
import { getPageviewMetrics, getSessionMetrics } from 'lib/queries'; import { getPageviewMetrics, getSessionMetrics, getWebsiteById } from 'lib/queries';
import { ok, badRequest, methodNotAllowed, unauthorized } from 'lib/response'; import { ok, methodNotAllowed, unauthorized, badRequest } from 'lib/response';
import { DOMAIN_REGEX } from 'lib/constants';
import { allowQuery } from 'lib/auth'; import { allowQuery } from 'lib/auth';
const sessionColumns = ['browser', 'os', 'device', 'country']; const sessionColumns = ['browser', 'os', 'device', 'country'];
@ -31,11 +30,7 @@ export default async (req, res) => {
return unauthorized(res); return unauthorized(res);
} }
const { id, type, start_at, end_at, domain, url } = req.query; const { id, type, start_at, end_at, url } = req.query;
if (domain && !DOMAIN_REGEX.test(domain)) {
return badRequest(res);
}
const websiteId = +id; const websiteId = +id;
const startDate = new Date(+start_at); const startDate = new Date(+start_at);
@ -47,7 +42,18 @@ export default async (req, res) => {
return ok(res, data); return ok(res, data);
} }
if (type === 'event' || pageviewColumns.includes(type)) { if (pageviewColumns.includes(type) || type === 'event') {
let domain;
if (type === 'referrer') {
const website = getWebsiteById(websiteId);
if (!website) {
return badRequest(res);
}
domain = website.domain;
}
const data = await getPageviewMetrics( const data = await getPageviewMetrics(
websiteId, websiteId,
startDate, startDate,
@ -55,7 +61,7 @@ export default async (req, res) => {
getColumn(type), getColumn(type),
getTable(type), getTable(type),
{ {
domain: type !== 'event' && domain, domain,
url: type !== 'url' && url, url: type !== 'url' && url,
}, },
); );