mirror of
https://github.com/kremalicious/umami.git
synced 2024-06-30 13:41:50 +02:00
Allow filtering same metric via API.
This commit is contained in:
parent
53eb190f97
commit
401decaa25
|
@ -54,21 +54,18 @@ export function MetricsTable({
|
||||||
city,
|
city,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
() =>
|
() => {
|
||||||
get(`/websites/${websiteId}/metrics`, {
|
const filters = { url, title, referrer, os, browser, device, country, region, city };
|
||||||
|
|
||||||
|
filters[type] = undefined;
|
||||||
|
|
||||||
|
return get(`/websites/${websiteId}/metrics`, {
|
||||||
type,
|
type,
|
||||||
startAt: +startDate,
|
startAt: +startDate,
|
||||||
endAt: +endDate,
|
endAt: +endDate,
|
||||||
url,
|
...filters,
|
||||||
title,
|
});
|
||||||
referrer,
|
},
|
||||||
os,
|
|
||||||
browser,
|
|
||||||
device,
|
|
||||||
country,
|
|
||||||
region,
|
|
||||||
city,
|
|
||||||
}),
|
|
||||||
{ onSuccess: onDataLoad, retryDelay: delay || DEFAULT_ANIMATION_DURATION },
|
{ onSuccess: onDataLoad, retryDelay: delay || DEFAULT_ANIMATION_DURATION },
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
|
@ -13,23 +13,26 @@ export interface WebsiteMetricsRequestQuery {
|
||||||
type: string;
|
type: string;
|
||||||
startAt: number;
|
startAt: number;
|
||||||
endAt: number;
|
endAt: number;
|
||||||
url: string;
|
url?: string;
|
||||||
referrer: string;
|
referrer?: string;
|
||||||
title: string;
|
title?: string;
|
||||||
query: string;
|
query?: string;
|
||||||
event: string;
|
os?: string;
|
||||||
os: string;
|
browser?: string;
|
||||||
browser: string;
|
device?: string;
|
||||||
device: string;
|
country?: string;
|
||||||
country: string;
|
region?: string;
|
||||||
region: string;
|
city?: string;
|
||||||
city: string;
|
language?: string;
|
||||||
language: string;
|
event?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
const schema = {
|
const schema = {
|
||||||
GET: yup.object().shape({
|
GET: yup.object().shape({
|
||||||
id: yup.string().uuid().required(),
|
id: yup.string().uuid().required(),
|
||||||
|
type: yup.string().required(),
|
||||||
|
startAt: yup.number().required(),
|
||||||
|
endAt: yup.number().required(),
|
||||||
}),
|
}),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -50,7 +53,6 @@ export default async (
|
||||||
referrer,
|
referrer,
|
||||||
title,
|
title,
|
||||||
query,
|
query,
|
||||||
event,
|
|
||||||
os,
|
os,
|
||||||
browser,
|
browser,
|
||||||
device,
|
device,
|
||||||
|
@ -58,6 +60,7 @@ export default async (
|
||||||
region,
|
region,
|
||||||
city,
|
city,
|
||||||
language,
|
language,
|
||||||
|
event,
|
||||||
} = req.query;
|
} = req.query;
|
||||||
|
|
||||||
if (req.method === 'GET') {
|
if (req.method === 'GET') {
|
||||||
|
@ -74,7 +77,6 @@ export default async (
|
||||||
referrer,
|
referrer,
|
||||||
title,
|
title,
|
||||||
query,
|
query,
|
||||||
event,
|
|
||||||
os,
|
os,
|
||||||
browser,
|
browser,
|
||||||
device,
|
device,
|
||||||
|
@ -82,10 +84,9 @@ export default async (
|
||||||
region,
|
region,
|
||||||
city,
|
city,
|
||||||
language,
|
language,
|
||||||
|
event,
|
||||||
};
|
};
|
||||||
|
|
||||||
filters[type] = undefined;
|
|
||||||
|
|
||||||
const column = FILTER_COLUMNS[type] || type;
|
const column = FILTER_COLUMNS[type] || type;
|
||||||
|
|
||||||
if (SESSION_COLUMNS.includes(type)) {
|
if (SESSION_COLUMNS.includes(type)) {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user