Add event_type filter for events endpoint

This commit is contained in:
Meerfolk 2021-09-29 11:38:52 +03:00
parent 20b8f59b76
commit 373e46ad70
2 changed files with 13 additions and 3 deletions

View File

@ -465,15 +465,21 @@ export function getEventMetrics(
filters = {},
) {
const params = [website_id, start_at, end_at];
const { url } = filters;
const { url, event_type } = filters;
let urlFilter = '';
let eventTypeFilter = '';
if (url) {
urlFilter = `and url=$${params.length + 1}`;
params.push(decodeURIComponent(url));
}
if (event_type) {
eventTypeFilter = `and event_type=$${params.length + 1}`;
params.push(event_type);
}
return rawQuery(
`
select
@ -484,6 +490,7 @@ export function getEventMetrics(
where website_id=$1
and created_at between $2 and $3
${urlFilter}
${eventTypeFilter}
group by 1, 2
order by 2
`,

View File

@ -11,7 +11,7 @@ export default async (req, res) => {
return unauthorized(res);
}
const { id, start_at, end_at, unit, tz, url } = req.query;
const { id, start_at, end_at, unit, tz, url, event_type } = req.query;
if (!moment.tz.zone(tz) || !unitTypes.includes(unit)) {
return badRequest(res);
@ -21,7 +21,10 @@ export default async (req, res) => {
const startDate = new Date(+start_at);
const endDate = new Date(+end_at);
const events = await getEventMetrics(websiteId, startDate, endDate, tz, unit, { url });
const events = await getEventMetrics(websiteId, startDate, endDate, tz, unit, {
url,
event_type,
});
return ok(res, events);
}