Support contains queries in overview page.

This commit is contained in:
Mike Cao 2024-03-27 02:17:55 -07:00
commit d945ed3a23
12 changed files with 75 additions and 105 deletions

View file

@ -4,7 +4,7 @@ import { methodNotAllowed, ok, unauthorized } from 'next-basics';
import { canViewWebsite } from 'lib/auth';
import { useAuth, useCors, useValidate } from 'lib/middleware';
import { NextApiRequestQueryBody, WebsiteStats } from 'lib/types';
import { parseDateRangeQuery } from 'lib/query';
import { getQueryFilters, parseDateRangeQuery } from 'lib/query';
import { getWebsiteStats } from 'queries';
export interface WebsiteStatsRequestQuery {
@ -52,20 +52,7 @@ export default async (
await useAuth(req, res);
await useValidate(schema, req, res);
const {
websiteId,
url,
referrer,
title,
query,
event,
os,
browser,
device,
country,
region,
city,
}: any & { websiteId: string } = req.query;
const { websiteId } = req.query;
if (req.method === 'GET') {
if (!(await canViewWebsite(req.auth, websiteId))) {
@ -77,19 +64,7 @@ export default async (
const prevStartDate = subMinutes(startDate, diff);
const prevEndDate = subMinutes(endDate, diff);
const filters = {
url,
referrer,
title,
query,
event,
os,
browser,
device,
country,
region,
city,
};
const filters = getQueryFilters(req);
const metrics = await getWebsiteStats(websiteId, { ...filters, startDate, endDate });